﻿Imports Microsoft.VisualBasic

Public Class ProfesorCRN
    Public Sub InsetarProfesor(ByVal objPersona As Persona, ByVal objProfesor As Profesor)

        If objPersona Is Nothing Then
            Throw New Exception("El objeto no puede ser nulo")
        End If

        If String.IsNullOrEmpty(objPersona.Nombre) Then
            Throw New Exception("El nombre del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.ApellidoP) Then
            Throw New Exception("El Apellido Paterno del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.ApellidoM) Then
            Throw New Exception("El Apellido Materno del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.CI) Then
            Throw New Exception("El CI del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Sexo) Then
            Throw New Exception("El Sexo del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Direccion) Then
            Throw New Exception("La Direccion del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Telefono) Then
            Throw New Exception("El Telefono del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.FechaN) Then
            Throw New Exception("La Fecha de Nacimiento del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.LugarN) Then
            Throw New Exception("El Lugar de Nacimiento del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objProfesor.Titulo) Then
            Throw New Exception("El titulo del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objProfesor.Area) Then
            Throw New Exception("El Area del profesor no puede ser nulo ni vacio")
        End If

        Dim adapter As ProfesorDSTableAdapters.ProfesorTableAdapter = New ProfesorDSTableAdapters.ProfesorTableAdapter()

        Dim profesorId? As Integer = 0

        adapter.Insert(profesorId, objPersona.Nombre, objPersona.ApellidoP, objPersona.ApellidoM, objPersona.CI, objPersona.Sexo, objPersona.Direccion, objPersona.Telefono, objPersona.Email, objPersona.FechaN, objPersona.LugarN, objPersona.Celular, objProfesor.Titulo, objProfesor.Area)

        If profesorId Is Nothing Or profesorId.Value <= 0 Then
            Throw New Exception("El query se ejecuto correctamente pero no se genero la llave primaria")
        End If

        objPersona.personaId = profesorId.Value

    End Sub

    Public Sub ActualizarProfesor(ByVal objPersona As Persona, ByVal objProfesor As Profesor)

        If objPersona Is Nothing Then
            Throw New Exception("El objeto no puede ser nulo")
        End If

        If String.IsNullOrEmpty(objPersona.Nombre) Then
            Throw New Exception("El nombre del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.ApellidoP) Then
            Throw New Exception("El Apellido Paterno del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.ApellidoM) Then
            Throw New Exception("El Apellido Materno del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.CI) Then
            Throw New Exception("El CI del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Sexo) Then
            Throw New Exception("El Sexo del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Direccion) Then
            Throw New Exception("La Direccion del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.Telefono) Then
            Throw New Exception("El Telefono del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.FechaN) Then
            Throw New Exception("La Fecha de Nacimiento del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objPersona.LugarN) Then
            Throw New Exception("El Lugar de Nacimiento del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objProfesor.Titulo) Then
            Throw New Exception("El titulo del profesor no puede ser nulo ni vacio")
        End If

        If String.IsNullOrEmpty(objProfesor.Area) Then
            Throw New Exception("El Area del profesor no puede ser nulo ni vacio")
        End If

        Dim adapter As ProfesorDSTableAdapters.ProfesorTableAdapter = New ProfesorDSTableAdapters.ProfesorTableAdapter()

        adapter.Update(objProfesor.ProfesorId, objPersona.Nombre, objPersona.ApellidoP, objPersona.ApellidoM, objPersona.CI, objPersona.Sexo, objPersona.Direccion, objPersona.Telefono, objPersona.Email, objPersona.FechaN, objPersona.LugarN, objPersona.Celular, objProfesor.Titulo, objProfesor.Area)

    End Sub

    Public Sub EliminarProfesor(ByVal ProfeId As Integer)

        If ProfeId <= 0 Then
            Throw New Exception("El id del profesor no puede ser menor o igual que cero")
        End If

        Dim adapter As ProfesorDSTableAdapters.ProfesorTableAdapter = New ProfesorDSTableAdapters.ProfesorTableAdapter()

        adapter.Delete(ProfeId)

    End Sub
End Class
